package org.dromara.oce.domain.req;

import com.bytedance.ads.model.ToolsBpAssetManagementShareV30AssetType;
import com.bytedance.ads.model.ToolsBpAssetManagementShareV30RequestAccountInfosInner;
import com.bytedance.ads.model.ToolsBpAssetManagementShareV30RequestAllAccountsByCompanyInner;
import com.bytedance.ads.model.ToolsBpAssetManagementShareV30ShareMode;
import lombok.Data;

import java.util.List;

@Data
public class ShareDpAssetManagementReq {

    /**
     * 组织id
     */
    private Long organizationId;

    /**
     * 字节小程序资产ID，通过【工具】-【获取字节小程序/小游戏】获取
     */
    private Long instanceId;

    /**
     * 资产类型 可选值:
     *
     * APPLETS 微信小程序
     * WECHAT_GAME 微信小游戏
     * BYTED_APPLETS 字节小程序
     * BYTED_GAME 字节小游戏
     */
    private ToolsBpAssetManagementShareV30AssetType assetType;

    /**
     * 共享类型 可选值:
     *
     * BP_ALL_ACCOUNTS 组织内所有账户共享
     * COMPANY_ALL_ACCOUNTS 公司主体内所有账户共享
     * PART 指定账户共享
     *
     */
    private ToolsBpAssetManagementShareV30ShareMode shareMode;

    /**
     * 共享类型 可选值:
     *共享账号类别，当share_mode 为BP_ALL_ACCOUNTS时有效且必填，一次最多操作1个，枚举值：AD 广告
     *
     */
    private String[] allAccountsByBp;

    /**
     * 共享账号信息，当share_mode= PART时有效且必填，一次共享最多支持100个账号信息
     *
     */
    private List<ToolsBpAssetManagementShareV30RequestAccountInfosInner> accountInfos;

    /**
     * 公司主体信息，一次最多操作1个
     * 当share_mode为 COMPANY_ALL_ACCOUNTS时有效且必填
     *
     */
    private List<ToolsBpAssetManagementShareV30RequestAllAccountsByCompanyInner> allAccountsByCompany;

}
